home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / BNU22SR1.ZIP / src / binutils.2 / bfd / init.c < prev    next >
C/C++ Source or Header  |  1993-05-30  |  2KB  |  79 lines

  1. /* bfd initialization stuff
  2.    Copyright (C) 1990-1991 Free Software Foundation, Inc.
  3.    Written by Steve Chamberlain of Cygnus Support.
  4.  
  5. This file is part of BFD, the Binary File Descriptor library.
  6.  
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or
  10. (at your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. #include "bfd.h"
  22. #include "sysdep.h"
  23. #include "libbfd.h"
  24.  
  25. extern void DEFUN_VOID (bfd_section_init);
  26.  
  27. static boolean initialized = false;
  28.  
  29. /*
  30. SECTION
  31.     Initialization
  32.  
  33.     This is the initialization section
  34.  
  35. */
  36.  
  37. /*
  38. FUNCTION
  39.     bfd_init
  40.  
  41. SYNOPSIS
  42.     void bfd_init(void);
  43.  
  44. DESCRIPTION
  45.     This routine must be called before any other bfd function to
  46.     initialize magical internal data structures.
  47. */
  48.  
  49. void DEFUN_VOID(bfd_init)
  50. {
  51.   if (initialized == false) {
  52.     initialized = true;
  53.  
  54.     bfd_arch_init();
  55.   }
  56. }
  57.  
  58.  
  59. /*
  60. INTERNAL_FUNCTION
  61.     bfd_check_init
  62.  
  63. DESCRIPTION
  64.     This routine is called before any other bfd function using
  65.     initialized data is used to ensure that the structures have
  66.     been initialized. Soon this function will go away, and the bfd
  67.     library will assume that bfd_init has been called.
  68.  
  69. SYNOPSIS
  70.     void bfd_check_init(void);
  71. */
  72.  
  73. void DEFUN_VOID(bfd_check_init)
  74. {
  75.   if (initialized == false) {
  76.     bfd_init();
  77.   }
  78. }
  79.